/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.javscaz.javscaztools.utilidades;

import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.table.DefaultTableModel;
import org.javscaz.javscaztools.mensajeria.Msg;

/**
 *
 * @author avbravo
 */
public class Utilidades {
    public static DefaultTableModel limpiarModelo(DefaultTableModel modelo)
    {
         if (modelo != null) {
                while (modelo.getRowCount() > 0) {
                    modelo.removeRow(0);
                }
            }
         return modelo;
    }
    
    public static Boolean tieneSeleccionados(DefaultTableModel modelo, Integer columna){
        try{
           if (modelo != null) {
               
               for(int i=0;i<modelo.getRowCount();i++) {
                    if(modelo.getValueAt(i, columna).toString().equals("true")){
                        return true;
                    }
                }           
            }
           return false;
        }catch(Exception ex){
            Msg.error(ex, "Utilidades.tieneSeleccionados()");
        }
        return false;
    }
    public static String formatearFecha(Date f){
        try{
            Format formatter  = new SimpleDateFormat("dd/MM/yyyy");
            return formatter.format(f);
        }catch(Exception ex){
          Msg.errorArchivo(ex, "formatearFecha()");  
        }
        return "";
    }
    
    
    public static boolean isFechaIgual(Date fecha1, Date fecha2) {
        if (fecha1 == null || fecha2 == null) {
            throw new IllegalArgumentException("Las fechas no pueden ser null");
        }
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(fecha1);
        Calendar cal2 = Calendar.getInstance();
        cal2.setTime(fecha2);
        return isSameDay(cal1, cal2);
    }
private static boolean isSameDay(Calendar cal1, Calendar cal2) {
        if (cal1 == null || cal2 == null) {
            throw new IllegalArgumentException("Las fechas no pueden ser null");
        }
        return (cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA) && cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR));
    }
}
